package com.molichuxing.services.infrastructure.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.molichuxing.framework.dao.RootMapper;
import com.molichuxing.services.infrastructure.bean.RegionBean;

/**
 * <p>
 * 行政区域 Mapper 接口
 * </p>
 *
 * @author
 * @since 2019-07-28
 */
public interface RegionMapper extends RootMapper<RegionBean> {

	List<RegionBean> getAll();

	/**
	 * 根据父id获取
	 * 
	 * @param pid
	 * @return
	 */
	List<RegionBean> getByPid(Integer pid);

	/**
	 * 获取所有省信息
	 * 
	 * @return
	 */
	List<RegionBean> getAllProvince();

	/**
	 * 根据id获取
	 * 
	 * @param ids
	 *            id
	 * @return
	 */
	List<RegionBean> getByIds(List<Integer> ids);

	/**
	 * 根据id获取父级id
	 * 
	 * @param ids
	 *            id
	 * @return
	 */
	List<Integer> getPidsByIds(@Param("ids") List<Integer> ids);


	/**
	 * 根据区域id按首字母排序
	 * @param regionIds
	 * @return
	 */
	List<RegionBean> getCityByInitial(@Param("regionIds") List<Integer> regionIds);



	/**
	 * 根据省id查询所有省下市id
	 * 
	 * @param provinceId
	 *            省id
	 * @return
	 */
	List<Integer> getIdsByPid(@Param("pid") Integer pid);

	/**
	 * 根据百度code获取城市信息
	 * @param baiduCode
	 * @return
	 */
	RegionBean getCityByBaiduCode(@Param("baiduCode") String baiduCode);
}
